<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
</body>
<script>
    const async1 = async () => {
        console.log('async1');//同步2
        setTimeout(() => {
            console.log('timer1')//宏异1，但由于是2s所以最终输出在后面
        }, 2000)
        await new Promise(resolve => {
            console.log('promise1')//同步3 但没有返回一个promise(resolve,reject)
        })
        console.log('async1 end')//没有执行
        return 'async1 success'//没有执行
    }
    console.log('script start');//同步1
    async1().then(res => console.log(res));//进入async1  //没有获得返回值，不成功，不输出
    console.log('script end');//同步4
    Promise.resolve(1)
        .then(2)                            //true，但2不会输出
        .then(Promise.resolve(3))           //true，但3不会输出，resolve是成功后要执行的函数，这个Promise返回3给then
        .then(res => console.log(res))      //输出1
    setTimeout(() => {
        console.log('timer2')
    }, 1000)//宏异2，但由于是1s所以最终输出在前面
</script>

</html>